# 这是一个示例 Python 脚本。
# -*-- coding:utf-8 --*-
# 按 Shift+F10 执行或将其替换为您的代码。
# 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。
import time

import requests
from unit import headers
from get_study_token import get_study_token_and_duration
from answer_questions import commit_answer
from get_course_id_list import get_course_id_list


def commit_video(course_id_):
    """
    模拟提交视频进度的主程序
    :param course_id_: 课程ID，在UIL中可以找到
    :return:
    """
    study_token, video_duration = get_study_token_and_duration(course_id_)
    video_duration = 34

    for i in range(60, int(video_duration) * 60, 120):
        params = {
            'courseID': f'{course_id_}',
            'second': f'{i}',
            'studyToken': f'{study_token}',
            'position': f'{i}',
        }
        print(f"开始提交:{params}")
        try:
            response = requests.get(
                'https://cloudapi.china-pharmacy.com/api/wxmini.CourseStudy/SaveVideoStudy',
                params=params, headers=headers)
            time.sleep(0.5)
            print(f"提交结果:{response}")
        except:
            print("error>>>")

def main():
    course_id_list = get_course_id_list()
    print("获取全部课程:\n")
    print([i['Title'] for i in course_id_list])
    print("\n开始学习>>>\n")

    status_mapping = {
        1: "未学习",
        2: "学习中",
        3: "已完成"
    }

    for course_id in course_id_list:
        study_status = course_id['StudyStatus']
        status_str = status_mapping.get(study_status, "未知状态")
        print(f"{status_str}课程:{course_id['Title']} >> ID:{course_id['CourseID']} >> 当前状态:{status_str}")
        if study_status in [1, 2]:
            commit_video(course_id)
            commit_answer(course_id)


if __name__ == '__main__':
    # course_id = 238  # 课程ID，在URL中可以找到
    main()

